DERS TANITIM BİLGİLERİ


Dersin Adı
Yazılım Testi
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
SE 344
Güz/Bahar
3
0
3
5
Ön-Koşul(lar)
Yok
Dersin Dili
İngilizce
Dersin Türü
Seçmeli
Dersin Düzeyi
Lisans
Dersin Veriliş Şekli -
Dersin Öğretim Yöntem ve Teknikleri
Dersin Koordinatörü
Öğretim Eleman(lar)ı
Yardımcı(ları)
Dersin Amacı Bu dersin birinci amacı, öğrencileri yazılım testinin temelleri ve prensipleri hakkında bilgilendirmektir. İkinci amaç ise, öğrencilerin yüksek kaliteli bir yazılım ürünü geliştirmelerini sağlamak üzere, temel test yöntemleri ve teknolojileri hakkında bilgilendirmektir. Dersin üçüncü amacı, öğrencilerin uluslararası yazılım testi belgelendirme sürecinde, yazılım testi konusunda gerekli becerileri kazanmasını sağlamaktır. Bu hedefler yazılım test süreçlerinin, test dokümantasyonun, test tekniklerinin, test yönetiminin ve test araçlarının öğrenilmesi ile elde edilecektir.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • Yazılım testinde ortak kullanılan terminolojiyi tanımlayabilmelidir.
  • Yazılım test temellerini tanımlayabilmelidir.
  • Test yaklaşımındaki teorik ve pratik sınırları açıklayabilmelidir.
  • Yazılım gelişimi sürecinde test hedeflerini açıklayabilmelidir.
  • Test tekniklerini uygulayabilmelidir.
  • Test yaklaşımlarının uygulanabilirliğini ve olası etkinliğini analiz edebilmelidir.
  • Bir projede test dokümanı hazırlayabilmelidir.
  • Testin hedeflerine göre test planının geçerliliğini değerlendirebilmelidir.
Ders Tanımı Yazılım geliştirme konusunda genel kabul gören konulardan biri de mükemmel bir yazılım geliştirilmenin mümkün olmadığıdır. Bundan dolayı, yazılımın kullanıma geçmeden önce, mevcut hatalarından arındırarak, yanlış çalışma etkilerini azalmak gerekmektedir. Test, yazılımın iyi bir performans sağlaması için de gereklidir. \nBu dersde, yazılım mühendisliğindeki test süreçleri, test dokümantasyonu ve test tekniklerine ilişkin kavram ve tanımlar öğretilmektedir.\n
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları

 



Dersin Kategorisi

Temel Ders
Uzmanlık/Alan Dersleri
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 Yazılım testinin temelleri: Kavramlar, proje ve organizasyon içinde yazılım testi, yazılım yaşam döngüsü içinde test süreçleri. Black’s book-ch.1 and IEEE 29119-1
2 Yazılım testinin temelleri: Kavramlar, proje ve organizasyon içinde yazılım testi, yazılım yaşam döngüsü içinde test süreçleri. IEEE 29119-1
3 Yazılım yaşam döngüsü boyunca test: Farklı yaşam döngülerinde test, test seviyeleri, test tipleri. (Lab 1: YGYD’de yazılım testi) Black’s book-ch.2 and IEEE 29119-1
4 Test Yönetimi. (Lab 2: YGYD içinde test) Black’s book-ch.5 and IEEE 29119-2 and IEEE 829
5 Test Dokümantasyonu (Lab 3: Test yönetim süreci) IEEE 29119-3
6 Statik Teknikler (Lab 4: Test dokümantasyonu) Black’s book-ch.3
7 Test tasarım teknikleri (Lab 5: Statik test teknikleri) Black’s book-ch.4 and IEEE 29119-4
8 Test tasarım teknikleri Black’s book-ch.4 and IEEE 29119-4
9 Test tasarım teknikleri (Lab 6: Web uygulamaları için yazılım testi çerçevesi: Selenium IDE) *** Homework 1 Black’s book-ch.4 and IEEE 29119-4
10 Maraton örneği ve Yönetim. (Lab 7: Bileşen testi - Birim testi: JUnit) Bath’s book-ch.2 and 3
11 Fonksiyonel test. (Lab 8: Doğruluk, Kullanışlılık ve Birlikte çalışabilirlik testi) Bath’s book-ch.10
12 Kullanılabilirlik ve Erişebilirlik Testi (Lab 9: Web uygulamaları için yazılım test çerçevesi) *** Homework 2 Bath’s book-ch.11
13 Davetli konuşmacı. Lab 10: Web uygulamaları için yükleme test araçları: Jmater
14 Dersin gözden geçirilmesi
15 Dönemin gözden geçirilmesi  
16 Dönemin gözden geçirilmesi  
Ders Kitabı Ders sunum notları dersin hocası tarafından verilecektir.
Önerilen Okumalar/Materyaller *** Black R., van Veenendaal E. and Graham D. Foundations of Software Testing. 3rd edition. Cengage Learning, 2012. *** Bath G., McKay J. The Software Test Engineer’s Handbook: A Study Guide for the ISTQB Test Analyst and Technical Analyst Advanced Level Certificates. Rocky Nook, 2008 *** IEEE 829-2008 - IEEE Standard for Software and System Test Documentation *** ISO/IEC/IEEE 29119-1Software testing - Part 1: Concepts and definitions *** ISO/IEC/IEEE 29119-2 Software testing - Part 2: Test processes *** ISO/IEC/IEEE 29119-3 Software testing - Part 3: Test documentation *** ISO/IEC/IEEE P29119-4 DIS May2013 Draft IEEE Standard Software testing -Part 4: Test techniques

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl Aktiviteleri Sayı Katkı Payı %
Katılım
Laboratuvar / Uygulama
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
4
20
Portfolyo
Ödev
1
20
Sunum / Jüri Önünde Sunum
Proje
Seminer/Çalıştay
Sözlü Sınav
Ara Sınav
1
20
Final Sınavı
1
40
Toplam

Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı
11
60
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı
1
40
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Yarıyıl Aktiviteleri Sayı Süre (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x teorik ders saati)
16
3
48
Laboratuvar / Uygulama Ders Saati
(Sınav haftası dahildir. 16 x uygulama/lab ders saati)
16
Sınıf Dışı Ders Çalışması
15
3
45
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
4
2
Portfolyo
Ödev
1
10
Sunum / Jüri Önünde Sunum
Proje
Seminer/Çalıştay
Sözlü Sınav
Ara Sınavlar
1
15
Final Sınavı
1
24
    Toplam
150

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1

Matematik, Fen Bilimleri ve Bilgisayar Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanır.

X
2

Karmaşık Bilgisayar Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular.

X
3

Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar; bu amaçla modern tasarım yöntemlerini uygular.

X
4

Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır.

X
5

Karmaşık Bilgisayar Mühendisliği problemlerinin veya araştırma konularının incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar.

X
6

Bilgisayar Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler.

X
7

Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır.

8

Bilgisayar Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik çözümlerinin hukuksal sonuçlarının farkındadır.

X
9

Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir.

X
10

Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir. 

11

Bir yabancı dili kullanarak Bilgisayar Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1)

12

İkinci yabancı dili orta düzeyde kullanır.

13

Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Bilgisayar Mühendisliği alanıyla ilişkilendirir.

X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest